#include <stdio.h>

void test()
{
    static int a = 0;//静态变量
    a++;
    printf("a = %d\n", a);
}



int a = 2;
int main()
{
    auto unsigned int a = 0;//auto变量
    register int b = 1;//寄存器变量
    static int c = 12;//静态变量
    int i;
    for(i = 0; i < 10; i++)
        test();
    return 0;
}

// {} 代码块内部出现的变量都是auto int 变量
// static 静态变量是指内存位置在程序执行期间一直不改变的变量
// 一个代码块内部的静态变量只能被这个代码块内部访问
// 静态变量在程序刚加载到内存的时候就出现，所以和定义静态变量的大括号无关
// 一直到程序结束的时候才从内存消失，同时静态变量的值只初始化一次
